package com.example.covid19.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.example.covid19.common.Dto.CkcDto;
import com.example.covid19.common.Dto.Ckdto3;
import com.example.covid19.common.lang.Result;
import com.example.covid19.entity.Majeur;
import com.example.covid19.mapper.MajeurMapper;
import com.example.covid19.service.MajeurService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author BaiZhengChun
 * @since 2023-03-07
 */
@RestController
@RequestMapping("/majeur")
public class MajeurController {
    @Autowired
    MajeurMapper majeurMapper;
    @Autowired
    MajeurService majeurService;
    @RequestMapping("/getlist")
    public Result getlist(){
        return Result.success(200,"ok",majeurMapper.getlist());
    }

    /**
     *
     * @param id
     * @param name
     * @return 添加专业
     */
    @RequestMapping("addMajeur")
    public Result addMajeur(@RequestParam("id")Integer id,@RequestParam("name")String name){
        Majeur majeur = new Majeur();
        majeur.setMajeurname(name);
        majeur.setXid(id);
        boolean flag = majeurService.save(majeur);
        if (flag){
            return Result.success(200,"ok",null);
        }else {
            return Result.fail(401,"error",null);
        }
    }

    /**
     *
     * @param xid
     * @param mid
     * @param mname
     * @return 修改学院
     */
    @RequestMapping("editMajeur")
    public Result editMajeur(@RequestParam("xid")Integer xid,@RequestParam("mid")Integer mid,@RequestParam("mname")String mname){
        Majeur majeur = majeurService.getOne(new QueryWrapper<Majeur>().eq("mid",mid));
        majeur.setXid(xid);
        majeur.setMajeurname(mname);
        boolean flag = majeurService.updateById(majeur);
        if (flag){
            return Result.success(200,"ok",null);
        }else {
            return Result.fail(401,"error",null);
        }
    }
    /**
     *
     * @param id
     * @return 检查是否可以删除
     */
    @RequestMapping("/CanDelete")
    public Result CanDelete(@RequestParam("id")Integer id){
        List<Ckdto3> ckcDtoList = majeurMapper.candelete(id);
        if (ckcDtoList != null && ckcDtoList.size() > 0 && ckcDtoList.get(0) == null){
            return Result.success(200,"ok",true);
        }else {
            return Result.success(200, "ok", false);
        }
    }
    /**
     *
     * @param id
     * @return 删除专业
     */
    @RequestMapping("deleteMajeur")
    public Result deleteCollege(@RequestParam("id")Integer id){
        boolean flag = majeurService.removeById(id);
        if (flag){
            return Result.success(200,"ok",null);
        }else {
            return Result.fail(401,"删除失败",null);
        }
    }

}
